object Demo07Func1 {
  // 定义一个函数
  // 传入一个string类型的值 转成 int 再 加 100 把结果返回
  /**
   * 确定函数的名称 func1
   * 确定函数的参数 str:String
   * 确定函数的返回值类型 Int
   */
  def func1(str: String): Int = {
    val i: Int = str.toInt
    val res: Int = i + 100
    return res
  }
  // 函数的省略

  /**
   * 1、return可以省略 默认会以最后一行代码作为返回值
   * 2、如果只有一行代码 花括号可以省略
   * 3、函数的返回值类型可以由返回的结果自动推断 即 可以省略
   * 4、如果函数没有参数 则 括号也可以省略
   */

  def func2(str: String): Int = {
    return str.toInt + 100
  }

  def func3(str: String): Int = {
    str.toInt + 100
  }

  def func4(str: String): Int = str.toInt + 100

  def func5(str: String) = str.toInt + 100

  // 注意这是一个函数 不是变量！！！！！！ 但是可以像变量一样传来传去--->函数式编程
  def func6 = "100".toInt + 100


  def main(args: Array[String]): Unit = {
    println(func1("100"))

    println(func2("100"))

    println(func3("100"))
    println(func4("100"))
    println(func5("100"))

    println(func6)

  }

}
